Systems and methods for clipping images

ABSTRACT

Systems and methods for providing clipping paths for variable data publishing are disclosed. A clipping path element is part of a graphic editor that allows a user to define a clipping path in any shape including non-rectangular shapes and shapes made with curved segments. The original graphic is preserved, and the clipping frame defines the portion of the image that is displayed or printed. A plurality of clipping paths can be defined and stored to a library. Rules based on nonvariable or variable data publishing data may be used to retrieve the clipping paths from the library. A new document is composed and rendered that includes a clipping path applied to a portion of an image or the text.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional patentapplication Ser. No. 15/936,291, filed on Mar. 26, 2018, entitledSYSTEMS AND METHODS FOR CLIPPING IMAGES, which claims priority to andthe benefit of U.S. Provisional Patent Application Ser. No. 62/476,395,filed Mar. 24, 2017, entitled “SYSTEMS AND METHODS FOR CLIPPING IMAGES,”the disclosures of which are hereby incorporated by reference in theirentirety, the content of which are hereby incorporated by referenceherein in its entirety for all purposes.

This application is related to U.S. patent application Ser. No.11/200,861, entitled SYSTEM & METHOD FOR DISTRIBUTED DESIGN OF AVARIABLE DATA PUBLICATION, filed on Aug. 10, 2005, the content of whichis hereby incorporated by reference herein in its entirety for allpurposes. This application is also related to U.S. patent applicationSer. No. 12/534,717, entitled APPARATUS & METHODS FOR IMAGE PROCESSINGOPTIMIZATION FOR VARIABLE DATA PRINTING, filed on Aug. 3, 2009, thecontent of which is hereby incorporated by reference herein in itsentirety for all purposes.

FIELD OF THE INVENTION

The present disclosure generally relates to customized digital printingand, more particularly, to aspects of variable data printing.

BACKGROUND

As printing technologies migrate from traditional printing methods suchas lithography to digital printing, use of digital printers andassociated processing of printed images and page layouts in digitalprinting systems has dramatically increased. While traditional printingmethods may still be more cost effective for large quantities ofstandardized print on a single page size, the cost of digital printingsystems and associated media has continued to decrease, making digitalprinting more affordable. In addition, digital printing technology canoften facilitate customized printing in a more cost-effective way thattraditional high volume printing methods.

For example, one type of customized printing is known as variable-dataprinting (VDP) (also known as variable-information printing or VIP or VIor variable-data publishing). VDP is a form of on-demand printing inwhich elements such as text, graphics and images may be changed from oneprinted piece to the next, without stopping or slowing down the printingprocess and without using information from a database or external file.For example, a set of personalized letters, each with the same basiclayout, can be printed with a different name and address on each letter,while retaining other common elements, such as images, text, associateddrop shadows, or other common elements. Variable data printing istypically used for direct marketing, customer relationship management,advertising and invoicing on self-mailers, brochures, or postcardcampaigns, but may also be used for a range of other printingapplications where customization is required. An article describing VDPentitled “Speaking in Tongues: Sorting Out Variable Data PrintingLanguages” by Eliot Harper, incorporated by reference herein, isavailable atwww.fujixerox.com.au/products/image/media/TSR-0906-Speak-Tongues-reprint.pdf.VDP printing may be implemented using a language such as PersonalizedPrint Markup Language or PPML, which is described in an article entitled“Introduction to the Personalized Print Markup Language: The PPML Familyof XML Standards, available at www.standards.podi.org, explains how PPMLcan be used to implement VDP by caching images and reusing them.

VDP is a direct outgrowth of digital printing technology, whichharnesses computer systems, digital printing devices, and specializedsoftware to create high-quality black and white or full color documentswith a look and feel comparable to conventional offset printing. VDPenables the mass customization of documents via digital printtechnology, as opposed to the mass-production of a single document usingoffset lithography. For example, instead of producing 10,000 copies of asingle document to deliver a single message to 10,000 customers,variable data printing provides for printing 10,000 unique documentswith customized messages for each customer.

VDP traditionally involves replacing text, graphics and images from oneprinted piece to the next. For example, a name and address may bereplaced with another name and address in a promotional letter. Bothnames and addresses occupy the same portion of the template and theother portions of the template remain unchanged from one document to thenext. With traditional VDP, the layout of the template typically doesnot change from one printed piece to the next, only the content of eachprinted piece changes.

When a graphic is used within a traditional VDP layout, sometimes thegraphic must be resized or a portion of the graphic must be clipped tofit within the graphic frame of the layout. Traditionally, graphics areclipped or cropped using a rectangular frame that is resizable indifferent rectangular aspect ratios by the user. When a graphic isclipped, the entire graphic is still present, although only a portion ofthe graphic is actually visible within a clipped frame.

SUMMARY

The present disclosure relates to systems and methods for creating andapplying clipping paths to a variable graphic resource within a VDPdocument. In some embodiments, a plurality of clipping paths arepredefined and stored in a library. In some embodiments, a user definesa plurality of clipping paths and stores them to a library. In someembodiments, a library contains a plurality of user defined clippingpaths and a plurality of predefined clipping paths. Each clipping pathmay include additional parameters such as settings for wrapping textwithin the borders of the clipping path or wrapping text outside of theborders of the clipping path.

In some embodiments, a set of rules determine which clipping path isretrieved from a library. In some embodiments, the clipping path isdetermined by a rule that uses other variable data as an input. Forexample, a rule may be used to read and correlate variable text whichincludes reading a person's name. Based on the probability of a person'sname corresponding to a particular gender, the rule specifies theclipping path to be used. In other examples, the variable text is aperson's address, a person's age, a person's known purchases and/or aperson's known preferences. In some embodiments, the rule analyzesmultiple variable data objects to select a clipping path.

In some embodiments, the clipping path is determined by a rule that usesnonvariable data as an input. For example, the clipping path may bedetermined by a rule that reads a customer's membership status and clipsan image as a circle for lower-level customers and clips it in astarburst shape for higher-level customers. In other examples,nonvariable data is an aspect ratio of the printed document or the timeof year corresponding to the printing of the document. In someembodiments, the nonvariable data input is a dimension of the layout,and/or a color associated with the layout. In some embodiments, theclipping path is determined by a rule that uses both variable andnonvariable data as inputs. In some embodiments, the clipping path isdetermined by the selection of a letter. For example, a clipping pathmay be dynamically generated by the selecting a letter of a word, e.g.an person's initial or the first letter of a paragraph. In theseexamples of a data-driven clipping path, the data drives the clippingpath. In some embodiments, the clipping path is determined by theselection of an object in a picture. For example, clipping path may bedynamically generated by the selecting an apple positioned on a table ina picture.

In one aspect, a method for creating a composite image includesretrieving a clipping path. The clipping path has a plurality ofinterconnected lines and vertices that defines a border. The methodincludes creating a variable data publishing template layout. Thevariable data publishing template layout can have at least one variabledata publishing field and a plurality of images. The method alsoincludes generating the composite image. The composite image includes aportion of a plurality of images. The portion of the plurality of imagesdefined by the clipping path. The method also includes composing a printfile from a data file, the variable data template layout including thecomposite image, and composition options. The method also includesrendering a final document including the composite image and the atleast one variable data publishing field.

In another aspect, the method further includes defining the clippingpath. In another aspect, the method further includes storing theclipping path from the library. The library can be a remote databaseassessable over a wide area network. The border defined by customclipping can form an irregular polygon. The border defined by theclipping path can form a polygon that is not a rectangle. The borderdefined by the clipping path can include at least one Bézier curvedline. The variable data publishing template layout can include at leastone variable data publishing field. The at least one variable datapublishing field can be populated with data from the data file duringcomposing the print file. The plurality of images can be stored in aremote image database assessable over a wide area network. The step ofdefining the clipping path can performed using a graphic editor on atypesetter system. The step of creating the variable data publishingtemplate layout can be performed using the graphic editor on thetypesetter system. The step of composing the print file from the datafile, the variable data template layout including the composite image,and the composition options can be performed using a composition engine.

In another aspect, the method further includes sending the data file,the variable data template layout including the composite image, andcomposition options to the composition engine from the typesettersystem. The step of rendering the final document including the compositeimage and the at least one variable data publishing field can includeprinting the final document on printable media using a printing system.The step of rendering the final document including the composite imageand the at least one variable data publishing field can alternativelyinclude displaying the final document on a display device. The step ofgenerating the composite image further includes flattening the compositeimage. The print file includes one or more pre-rasterized objects andcan be in the form of Java, C, C#, C++, scripting languages, PostScript,PDF, PDF/VT, PPML, XML, VPS, VDX, VIPP file, and other VDP outputformats.

In another aspect, the method further includes rasterizing the one ormore pre-rasterized objects using a raster image processor. The variabledata publishing template layout can include a graphic frame. The graphicframe contains the composite image.

In another aspect, the present disclosure relates to a method forcreating a composite image. The method includes selecting a plurality ofimages. The plurality of images can be stored in a database. The methodalso includes overlaying the plurality of images in a graphic editor. Afirst portion of the plurality of images can overlap with a secondportion of the plurality of images. The method also includes retrievinga clipping path from a library. The clipping path can have plurality ofinterconnected lines and vertices that defines a border. The method alsoincludes aligning the clipping path and the plurality of images in thegraphic editor. The method also includes generating the composite imagein the graphic editor. The composite image can include a combination ofat least the first portion of the plurality of images and at least thesecond portion the plurality of images. The composite image can have atleast one border defined by the clipping path.

In another aspect, the method further includes storing the clipping pathto the library. In another aspect, the method further includes adjustingthe clipping path retrieved from the library. The library can be aremote database assessable over a wide area network. The border definedby custom clipping can form an irregular polygon. The border defined bythe clipping path can form a polygon that is not a rectangle. The borderdefined by the clipping path can include at least one Bézier curvedline.

In another aspect, the method further includes creating a variable datapublishing template layout. The variable data publishing template layouthaving at least one variable data publishing field and a graphic frame.The step of overlaying the plurality of images in the graphic editor caninclude overlaying the plurality of images within the graphic frame inthe graphic editor.

In another aspect, the method further includes composing a print filefrom a data file, the variable data template layout including thecomposite image, and composition options. The at least one variable datapublishing field can be populated with data from the data file duringcomposing the print file. The step of composing the print file from thedata file, the variable data template layout including the compositeimage, and the composition options can be performed using a compositionengine. The graphic editor can be loaded into a memory of a typesettersystem.

In another aspect, the method further includes sending the data file,the variable data template layout including the composite image, and thecomposition options to the composition engine from the typesettersystem. In another aspect, the method further includes rendering a finaldocument including the composite image and at least one variable datapublishing field includes printing the final document on printable mediausing a printing system. In another aspect, the method further includesrendering a final document including the composite image and at leastone variable data publishing field includes displaying the finaldocument on a display device. The print file can include one or morepre-rasterized objects and can be in the form of Java, C, C#, C++,scripting languages, PostScript, PDF, PDF/VT, PPML, XML, VPS, VDX, VIPPfile, and other VDP output formats. In another aspect, the methodfurther includes rasterizing the one or more pre-rasterized objectsusing a raster image processor. The plurality of images stored in thedatabase can be stored in a remote image database assessable over a widearea network. The graphic editor can be loaded into a memory of acomposition system. The step of generating the composite image in thegraphic editor can include flattening the composite image.

In another aspect, the present disclosure relates to a method forcreating a composite image. The method includes loading a graphic editorinto a memory of a composition system. The method also includesdefining, using the graphic editor loaded into the memory of thecomposition system, a clipping path for a graphic frame, the clippingpath having plurality of interconnected lines and vertices that define aborder. The method also includes specifying clipping information for thegraphic frame. The clipping information can include an order foroverlaying a plurality of images within the graphic frame. The methodalso includes providing a database of variable data publishing data forcomposition. The method also includes merging the plurality of imageswithin the graphic frame by retrieving the plurality of images from thedatabase and overlaying the plurality of images in the order specifiedby the clipping information. The method also includes clipping theplurality of images within the graphic frame based on the clipping pathof the graphic frame. The method also includes generating the compositeimage. The composite image can include a portion of a plurality ofimages, the portion of the plurality of images defined in part by theclipping path.

In another aspect, the method further includes storing the clipping pathin a library. The database of variable data publishing data forcomposition can be a first database of variable data publishing data forcomposition. The method includes providing a second database of variabledata publishing data for composition. The step of merging the pluralityof images within the graphic frame by retrieving the plurality of imagesfrom the database can include merging graphics from the first databaseand the second database to the graphic frame.

In another aspect, the method further includes selecting a clipping pathfor each graphic frame based on the clipping information for the graphicframe. The step of selecting the clipping path for each graphic framebased on the clipping information for the graphic frame can includeexecuting a script indicating which clipping path to select from thelibrary. The step of executing the script indicating which clipping pathto select from the library can include analyzing a plurality of variabledata publishing data to select the clipping path. The clipping path canbe a variable data publishing field. The step of providing the databaseof variable data publishing data for composition can include providingthe plurality of images. The step of providing the database of variabledata publishing data for composition can include specifying a link to aremote database.

In another aspect, the method further includes adjusting the clippingpath retrieved from a library. The library can be a remote databaseassessable over a wide area network. The border defined by customclipping can form an irregular polygon. The border defined by theclipping path can form a polygon that is not a rectangle. The borderdefined by the clipping path can include at least one Bézier curvedline. The database of variable data publishing data for composition canbe a remote image database assessable over a wide area network. Thecomposition system can include a typesetter system. The graphic editorcan be loaded into a memory of the typesetter system.

In another aspect, the method further includes creating a variable datapublishing template layout. The variable data publishing template layoutcan have at least one variable data publishing field and the graphicframe. The step of overlaying the plurality of images in the orderspecified by the clipping information can include overlaying theplurality of images within the graphic frame in the graphic editor.

In another aspect, the method further includes composing a print filefrom a data file, the variable data template layout including thecomposite image, and composition options. The at least one variable datapublishing field can be populated with data from the data file duringcomposing the print file. The step of composing the print file from thedata file, the variable data template layout including the compositeimage, and the composition options can be performed using a compositionengine. The print file can include one or more pre-rasterized objectsand can be in the form of Java, C, C#, C++, scripting languages,PostScript, PDF, PDF/VT, PPML, XML, VPS, VDX, VIPP file, and other VDPoutput formats.

In another aspect, the method further includes rasterizing the one ormore pre-rasterized objects using a raster image processor. In anotheraspect, the method further includes sending the data file, the variabledata template layout including the composite image, and the compositionoptions to the composition engine from the typesetter system. In anotheraspect, the method further includes rendering a final document includingthe composite image and at least one variable data publishing fieldincludes printing the final document on printable media using a printingsystem. In another aspect, the method alternatively includes rendering afinal document including the composite image and at least one variabledata publishing field includes displaying the final document on adisplay device. The step of generating the composite image in thegraphic editor can further include flattening the composite image.

In another aspect, the present disclosure relates to a system forcreating a composite image. The system includes a composition subsystem.The composition subsystem can be configured for defining a clippingpath. The clipping path can have a plurality of interconnected lines andvertices that defines a border. The composition subsystem can also beconfigured for creating a variable data publishing template layout. Thevariable data publishing template layout can have at least one variabledata publishing field and a plurality of images. The compositionsubsystem can also be configured for generating the composite image. Thecomposite image can include a portion of a plurality of images. Theportion of the plurality of images can be defined by the clipping path.The composition subsystem can also be configured for composing a printfile from a data file. The variable data template layout can include thecomposite image, and composition options. The print file can alsoinclude one or more pre-rasterized objects. The system also includes aprocessor configured for rasterizing the one or more pre-rasterizedobjects. The system also includes a printing subsystem configured forrendering a final document including the composite image and the atleast one variable data publishing field.

In another aspect, the system further includes a database configured forstoring the clipping path. The composition subsystem is also configuredfor retrieving the clipping path from the database. The database can bea remote database assessable over a wide area network. The borderdefined by custom clipping can form an irregular polygon. The borderdefined by the clipping path can form a polygon that is not a rectangle.The border defined by the clipping path can include at least one Béziercurved line. The variable data publishing template layout can include atleast one variable data publishing field. The at least one variable datapublishing field can be populated with data from the data file duringcomposing the print file. The plurality of images can be stored in aremote image database assessable over a wide area network.

In another aspect, the system further includes a typesetter system and acomposition engine. The typesetter system can be configured for definingthe clipping path using a graphic editor on the typesetter system. Thestep of creating the variable data publishing template layout canperformed using the graphic editor on the typesetter system. The step ofcomposing the print file from the data file, the variable data templatelayout including the composite image, and the composition options can beperformed using the composition engine. The typesetter system isconfigured for sending the data file, the variable data template layoutincluding the composite image, and composition options to thecomposition engine. The step of rendering the final document includingthe composite image and the at least one variable data publishing fieldcan include printing the final document on printable media using theprinting system. The step of rendering the final document including thecomposite image and the at least one variable data publishing field canalternatively include displaying the final document on a display deviceof the printing subsystem. The step of generating the composite imagecan further include flattening the composite image. The print file canbe in the form of a Java, C, C#, C++, scripting languages, PostScript,PDF, PDF/VT, PPML, XML, VPS, VDX, or VIPP file. The variable datapublishing template layout can include a graphic frame. The graphicframe can contain the composite image.

In another aspect, the present disclosure relates to a system forcreating a composite image. The system includes a composition subsystem.The composition subsystem can be configured for selecting a plurality ofimages, the plurality of images being stored in a database. Thecomposition subsystem can also be configured for overlaying theplurality of images in a graphic editor. A first portion of theplurality of images can overlap with a second portion of the pluralityof images. The composition subsystem can also be configured forretrieving a clipping path from a library. The clipping path can have aplurality of interconnected lines and vertices that defines a border.The composition subsystem can also be configured for aligning theclipping path and the plurality of images in the graphic editor. Thecomposition subsystem can also be configured for generating thecomposite image in the graphic editor. The composite image can include acombination of at least the first portion of the plurality of images andat least the second portion the plurality of images. The composite imagecan have at least one border defined by the clipping path.

In another aspect, the system further includes a database configured forstoring the clipping path. The composition subsystem can be configuredfor retrieving the clipping path from the database. The database can bea remote database assessable over a wide area network. The borderdefined by clipping path can form an irregular polygon. The borderdefined by the clipping path can form a polygon that is not a rectangle.The border defined by the clipping path can include at least one Béziercurved line.

The composition subsystem can be further configured for creating avariable data publishing template layout. The variable data publishingtemplate layout can have at least one variable data publishing field anda graphic frame. The composition subsystem can be further configured foroverlaying the plurality of images in the graphic editor includesoverlaying the plurality of images within the graphic frame in thegraphic editor. The composition subsystem can be further configured forcomposing a print file from a data file, the variable data templatelayout including the composite image, and composition options. The atleast one variable data publishing field can be populated with data fromthe data file during composing the print file.

The composition subsystem can further include a typesetter system and acomposition engine. The composition engine can be configured forcomposing the print file from the data file. The variable data templatelayout can include the composite image and the composition options. Thegraphic editor can be loaded into a memory of the typesetter system. Thecomposition subsystem can be further configured for sending the datafile, the variable data template layout including the composite image,and the composition options to the composition engine from thetypesetter system.

In another aspect, the system further includes a printing system. Theprinting system can be configured for rendering a final documentincluding the composite image and the at least one variable datapublishing field. Rendering the final document can include printing thefinal document on printable media.

In another aspect, the system further includes a display device, thedisplay device can be configured for rendering a final documentincluding the composite image and at least one variable data publishingfield. Rendering the final document can include displaying the finaldocument.

In another aspect, the system further includes a raster image processor.The raster image processor configured for rasterizing one or morepre-rasterized objects. The print file can include one or morepre-rasterized objects and the print file is in the form of Java, C, C#,C++, scripting languages, PostScript, PDF, PDF/VT, PPML, XML, VPS, VDX,VIPP file, and other VDP output formats. The plurality of images beingstored in the database can be stored in a remote image databaseassessable over a wide area network. The graphic editor can be loadedinto a memory of the composition subsystem. The step of generating thecomposite image in the graphic editor can further include flattening thecomposite image.

In another aspect, the present disclosure relates to a system forcreating a composite image. The system includes a database. The databasecan be configured for providing variable data publishing data forcomposition. The system also includes a composition subsystem. Thecomposition subsystem can configured for loading a graphic editor into amemory of the composition subsystem. The composition subsystem can alsobe configured for defining, using the graphic editor loaded into thememory of the composition subsystem, a clipping path for a graphicframe. The clipping path having plurality of interconnected lines andvertices that define a border. The composition subsystem can also beconfigured for specifying clipping information for the graphic frame.The clipping information can include an order for overlaying a pluralityof images within the graphic frame. The composition subsystem can alsobe configured for merging the plurality of images within the graphicframe by retrieving the plurality of images from the database andoverlaying the plurality of images in the order specified by theclipping information. The composition subsystem can also be configuredfor clipping the plurality of images within the graphic frame based onthe clipping path of the graphic frame. The composition subsystem canalso be configured for generating the composite image. The compositeimage including a portion of a plurality of images. The portion of theplurality of images can be defined in part by the clipping path.

In another aspect, the database of variable data publishing data forcomposition is a first database of variable data publishing data forcomposition and the system further includes a second database. Thesecond database can be configured for providing variable data publishingdata for composition of variable data publishing data for composition.The step of merging the plurality of images within the graphic frame byretrieving the plurality of images from the database can include merginggraphics from the first database and the second database to the graphicframe. The composition subsystem can be configured for selecting aclipping path for each graphic frame based on the clipping informationfor the graphic frame. The step of selecting the clipping path for eachgraphic frame based on the clipping information for the graphic framecan include executing a script indicating which clipping path to selectfrom a library. The step of executing the script indicating whichclipping path to select from the library can include analyzing aplurality of variable data publishing data to select the clipping path.The clipping path can be a variable data publishing field. The step ofproviding the database of variable data publishing data for compositioncan include providing the plurality of images. The step of providing thedatabase of variable data publishing data for composition can includespecifying a link to a remote database.

The composition subsystem can also be configured for adjusting theclipping path retrieved from the library. The library can be a remotedatabase assessable over a wide area network. The border defined byclipping path can form an irregular polygon. The border defined by theclipping path can form a polygon that is not a rectangle. The borderdefined by the clipping path can include at least one Bézier curvedline. The database of variable data publishing data for composition canbe a remote image database assessable over a wide area network.

The composition subsystem can further include a typesetter system and acomposition engine. The graphic editor can be loaded into a memory oftypesetter system. The composition subsystem can also be configured forcreating a variable data publishing template layout. The variable datapublishing template layout having at least one variable data publishingfield and the graphic frame. The composition subsystem can also beconfigured for overlaying the plurality of images in the order specifiedby the clipping information including overlaying the plurality of imageswithin the graphic frame in the graphic editor. The compositionsubsystem can also be configured for composing a print file from a datafile. The variable data template layout can include the composite imageand composition options. The at least one variable data publishing fieldcan be populated with data from the data file during composing the printfile. The step of composing the print file from the data file, thevariable data template layout including the composite image, and thecomposition options can be performed using a composition engine.

In another aspect, the system further includes a raster image processor.The raster image processor can be configured for rasterizing one or morepre-rasterized objects. The print file can include the one or morepre-rasterized objects and can be in the form of a Java, C, C#, C++,scripting languages, PostScript, PDF, PDF/VT, PPML, XML, VPS, VDX, VIPPfile, and other VDP output formats. The typesetter system can beconfigured for sending the data file, the variable data template layoutincluding the composite image, and the composition options to thecomposition engine. The step of generating the composite image in thegraphic editor can further include flattening the composite image.

In another aspect, the system further includes a printing system. Theprinting system can be configured for rendering a final documentincluding the composite image and the at least one variable datapublishing field. Rendering the final document can include printing thefinal document on printable media.

In another aspect, the system further includes a display device, thedisplay device can be configured for rendering a final documentincluding the composite image and at least one variable data publishingfield. Rendering the final document can include displaying the finaldocument.

In another aspect, the present disclosure relates to a non-transitoryprocessor-readable medium containing processor executable instructionsfor creating a composite image. The executable instructions can includeloading a graphic editor into a memory of a composition subsystem. Theexecutable instructions can also include defining, using the graphiceditor loaded into the memory of the composition subsystem, a clippingpath for a graphic frame. The clipping path can have plurality ofinterconnected lines and vertices that define a border. The executableinstructions can also include specifying clipping information for thegraphic frame. The clipping information can include an order foroverlaying a plurality of images within the graphic frame. Theexecutable instructions can also include merging the plurality of imageswithin the graphic frame by retrieving the plurality of images from thedatabase and overlaying the plurality of images in the order specifiedby the clipping information. The executable instructions can alsoinclude clipping the plurality of images within the graphic frame basedon the clipping path of the graphic frame. The executable instructionscan also include generating the composite image. The composite image caninclude a portion of a plurality of images. The portion of the pluralityof images can be defined in part by the clipping path.

Additional aspects of the present disclosure are further described belowin conjunction with the drawings. It should be appreciated that allcombinations of the foregoing concepts and additional concepts discussedin greater detail below (provided such concepts are not mutuallyinconsistent) are contemplated as being part of the inventive subjectmatter disclosed herein. In particular, all combinations of claimedsubject matter appearing at the end of this disclosure are contemplatedas being part of the inventive subject matter disclosed herein. Itshould also be appreciated that terminology explicitly employed hereinthat also may appear in any disclosure incorporated by reference shouldbe accorded a meaning most consistent with the particular conceptsdisclosed herein.

The following U.S. published applications are hereby incorporated hereinby reference for all purposes:

Title: CENTRALIZED SYSTEM AND METHOD FOR MANAGING ENTERPRISE OPERATIONS;Application No. PCT/US99/26523; Publication No. WO 2000/030000;Application Date Nov. 9, 1999

Title: SYSTEM AND METHOD FOR CREATING, GENERATING AND PROCESSINGUSER-DEFINED GENERIC SPECS; application Ser. No. 09/780,099; PublicationNo. US 2002-0032694 A1; Application Date Feb. 9, 2001

Title: SYSTEMS & METHODS FOR PROVIDING VARIABLE DATA PRINTING (VDP)USING DYNAMIC FONT DOWNGRADING; application Ser. No. 12/571,387;Publication No. US-2011-0075196-A1; Application Date Sep. 30, 2009

Title: SYSTEMS & METHODS FOR PROVIDING VARIABLE DATA PRINTING (VDP)USING DYNAMIC FONT DOWNGRADING; Application No. PCT/US2010/050302;Publication No. WO 2011/041241; Application Date Sep. 24, 2010

Title: SYSTEMS & METHODS FOR PROVIDING VARIABLE DATA PRINTING (VDP)USING DYNAMIC FONT DOWNGRADING; application Ser. No. 14/269,802;Publication No. US-2014/0240731-A1; Application Date May 5, 2014

Title: APPARATUS & METHODS FOR IMAGE PROCESSING OPTIMIZATION FORVARIABLE DATA PRINTING; application Ser. No. 12/534,717; Publication No.US-2011/0026042-A1; Application Date Aug. 3, 2009

Title: APPARATUS AND METHODS FOR IMAGE PROCESSING OPTIMIZATION FORVARIABLE DATA PRINTING (VDP); Application No. PCT/US2010/044298;Publication No. WO2011/017361; Application Date Aug. 3, 2010

Title: APPARATUS & METHODS FOR IMAGE PROCESSING OPTIMIZATION FORVARIABLE DATA PRINTING; application Ser. No. 14/105,955; Publication No.US-2014-0104650-A1; Application Date Dec. 13, 2013

Title: SYSTEM AND METHOD FOR PRINTABLE DOCUMENT JOB SUBMISSION;application Ser. No. 13/554,344; Publication No. US-2014-0022585-A1;Application Date Jul. 20, 2012

Title: SYSTEM AND METHOD FOR PRINTABLE DOCUMENT JOB SUBMISSION;Application No. PCT/US2013/051265; Publication No. WO 2014/015249;Application Date Jul. 19, 2013

Title: SYSTEM AND METHOD FOR PRINTABLE DOCUMENT VIEWER OPTIMIZATION;application Ser. No. 13/827,173; Publication No. US-2014-0281940-A1;Application Date Mar. 14, 2013

Title: SYSTEM AND METHOD FOR PRINTABLE DOCUMENT VIEWER OPTIMIZATION;Application No. PCT/US2014/025814; Publication No. WO2014/160100;Application Date Mar. 13, 2014

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is more fully appreciated in connection with thefollowing Detailed Description taken in conjunction with theaccompanying drawings. The skilled artisan will understand that thedrawings primarily are for illustrative purposes and are not intended tolimit the scope of the inventive subject matter described herein. Thedrawings are not necessarily to scale; in some instances, variousaspects of the inventive subject matter disclosed herein may be shownexaggerated or enlarged in the drawings to facilitate an understandingof different features. In the drawings, like reference charactersgenerally refer to like features (e.g., functionally similar and/orstructurally similar elements).

FIG. 1 is an illustration of a typical printing system on whichembodiments of the present disclosure may be implemented;

FIG. 2 is an illustration of an embodiment of a Composition/TypesetterSystem in accordance with aspects of the present disclosure;

FIG. 3 is an illustration of an embodiment of a Printer System inaccordance with aspects of the present disclosure;

FIG. 4 is an illustration of a process for creating a document using aclipping path, according to an embodiment of the present disclosure.

FIG. 5 is an illustration of a process for creating a composite imageusing a clipping path, according to an embodiment of the presentdisclosure.

FIG. 6 is an illustration of a process for creating a document using aclipping path, according to an embodiment of the present disclosure.

FIG. 7 is an illustration of a process for creating a document using aclipping path, according to an embodiment of the present disclosure.

FIG. 8 is an example of an image before a clipping path is applied,according to embodiments of the present disclosure.

FIG. 9 is an example of a composite image after a clipping path isapplied, according to embodiments of the present disclosure.

FIG. 10 is an example of a clipping path defined by a user using agraphic clipping frame editor, according to embodiments of the presentdisclosure.

FIG. 11 is an example of a composite image after a clipping path isapplied, according to embodiments of the present disclosure.

Corresponding reference characters indicate corresponding componentsthroughout the several views of the drawings. Skilled artisans willappreciate that elements in the figures are illustrated for simplicityand clarity and have not necessarily been drawn to scale. For example,the dimensions of some of the elements in the figures may be exaggeratedrelative to other elements to help to improve understanding of variousembodiments of the present disclosure. Also, common but well-understoodelements that are useful or necessary in a commercially feasibleembodiment are often not depicted in order to facilitate a lessobstructed view of these various embodiments of the present disclosure.

DETAILED DESCRIPTION

Following below are more detailed descriptions of various conceptsrelated to, and embodiments of, inventive systems and methods forcreating and applying clipping paths to a variable graphic resourcewithin a VDP document. It should be appreciated that various conceptsintroduced above and discussed in greater detail below may beimplemented in any of numerous ways, as the disclosed concepts are notlimited to any particular manner of implementation. Examples of specificimplementations and applications are provided primarily for illustrativepurposes. Though described herein with in connection with VDP, theconcepts and embodiments are also applicable to publishing usingnon-variable data for a variety of different page sizes.

Programs, like FusionPro available from PTI Marketing Technologies,Inc., allow a user to ultimately create a document by laying out frameson a page. The frames correspond to the positions of the variouselements on the page. The elements can be graphics, text, orcombinations thereof. As used herein, the terms image and graphic areused interchangeably. The elements may be stored in databases andinclude variable or non-variable data. After the user has laid out theframes for optimal viewing on a given page size, the user is then ableto preview the page to see a representation of the finished document. Inone embodiment, a user creates a variable data layout by positioningmultiple frames on a page.

After laying out the initial page, the user may save the layout as atemplate. In one embodiment, a user saves the layout as a variable datatemplate. The template contains information relating to the size andposition for each frame on the page. The content of each frame caninclude non-variable or variable data. Data may be stored in a libraryor database and retrieved when a document is composed.

In order to further describe details of various embodiments of thepresent disclosure, attention is now directed to FIG. 1 whichillustrates a typical digital printing system 100 on which variousembodiments of the present disclosure may be implemented. Printingsystem 100 includes two primary sub-sections—a composition ortypesetting subsection (also denoted herein as composition system,composition subsystem, or typesetter) 110 and a printing subsection(also denoted herein as a printing system) 150. These subsections may beinterconnected via a network 130 as shown in FIG. 1, such as a localarea network (wired LAN, such as an Ethernet or other LAN), a wirelessnetwork, a wide area network (WAN), such as the Internet, a corporatenetwork, or via other networking configurations. In some embodiments,subsections 110 and 150 need not be directly interconnected as shown inFIG. 1, but data and information may be transferred manually betweenthem, such as by human users or operators. Data and informationtransferred between subsystems 110 and 150 may include a set of printercharacteristics 142, a print job 144, a printer characteristicsdetermination file 146, as well as other data or information (notshown).

Composition subsection 110 may include two computer sub-systems 115 and120. Sub-system 115 is denoted herein as a typesetter human interfaceand is typically a computer system containing hardware and softwareconfigured to receive printer characteristics 142, which includeinformation associated with the characteristics of a particular printersystem (or systems) 152, store that information in a memory, and provideconnectivity facilitating access to that information to sub-system 120or transfer the received information to sub-system 120. Sub-system 115may also be configured to communicate directly with printing subsection150 to generate a printer characteristics determination file 146 toquery for printer characteristics 142 of one or more printers 152 a-152n, and/or other information, and receive printer characteristics 142from the printing subsection 150.

Sub-system 120 is denoted herein as a composition engine or typesettersystem, and it is configured with hardware and software to allow a userto compose a print job using a printing composition or typesetting toolsuch as Fusion Pro or another similar or equivalent tool. In someembodiments, the components and functionality associated with typesetterhuman interface 115 (also denoted herein as “interface” 115 for brevity)and composition engine 120 may be combined in a single computer systemrather than in the form of separate sub-systems as shown in FIG. 1. Inthis case, the combined system may be referred to herein merely as atypesetter or typesetter system 110.

In addition to supporting functionality associated with composition ofprint jobs as may be provided by an application such as Fusion Pro,composition engine 120 may also be configured to execute additionalfunctions as may be implemented in one or more functional modules, asfurther described herein, to receive printer characteristics andgenerate one or more pre-rasterized print jobs 144 for execution on oneor more printers 152 a-152 n of printing system 150. As used herein, apre-rasterized print job describes a print job, typically in the form ofa printer programming language such as PostScript, that includesinstructions for generating the printed output along with one or morepre-rasterized objects (such as images, fonts, drop-shadows, othervector objects, etc.). Embodiments of this functionality and associatedimplementation details for embodiments are further described below.

Printing system 150 includes one or more printers 152 a-152 n and mayalso include other hardware or software elements (not shown). Each ofthese printers 152 may further be divided into a raster image processormodule (“RIP”) 154 and a rendering station module 156. RIP 154 istypically a computer system configured to receive a print job andgenerate the specific page printing bitmap or page dot pattern forrendering (i.e., generating the printed output) on rendering station156. As is known in the art, each printer has a native output resolutionor resolutions at which the printed output is generated. The printedoutput consists of printed dots or other very small printed features,with the dots placed on the page by a print rendering apparatus of therendering station 156. For example, the dots may consist of inks,toners, or other print media placed on the printed page by ink jets orthermal mechanisms, at the printer's native resolution. The nativeresolution defines the particular dot pattern of the printed output thatcan be produced on the particular printer's rendering station. Ineffect, any raster objects of an incoming print job are converted by theRIP into a page layout in the printer's native resolution, irrespectiveof the specific original resolution of the object. This requires thatobjects such as images be converted from their initial resolution to theprinter's native resolution.

In addition, the rotation of the object on the page may vary based onthe particular printer's page layout, how the printed pages areconfigured on the printed sheet (for example, some printed pages may beoriented horizontally on the page, whereas other pages having the samecontent and objects may be rotated 90 degrees or 180 degrees to maximizeprintable area of the output), and/or based on variable rotation ofprinted objects, beyond just fixed +/−90 or 180 degree rotations.

When a print job is provided to the printer, such as printers 152 a-152n of FIG. 1, the RIP 154 receives the print job, typically in the formof a printer programming language file such as Adobe PostScript, andgenerates all or part of the printed page in the native printerresolution and rotation. As noted above, this processing may includeconverting an object from the print job from one resolution to another,generating a raster object in the printer's native format from a vectorobject such as a font, drop shadow, etc., rotating objects based on thedesired print orientation or rotation, and/or other processing such asis further described and illustrated herein.

To further elaborate on details of processing as may be performed by theRIP 154, a RIP is a component of a printing system that generates arasterized page layout for printing based on an input print job. Thepage layout is then sent to a print rendering device, such as renderingstation 156 as shown in FIG. 1, for generation of the printed output.The print job input is typically in the form of a page description in ahigh-level page description language such as PostScript, PortableDocument Format, XPS, and the like. These print jobs include a set ofprogramming instructions that describe how to generate the particularprint job as well as specific objects (components) of the print job,such as images, fonts, drop shadows, vector elements, etc. that may beneeded to produce the printed output. The RIP performs data processingto convert a print job file (such as, in an exemplary embodiment, aPostScript file) from the programming language description of theprinted page to a dot pattern page layout for rendering the page in thenative output resolution and rotation.

A RIP can be implemented as a software component executing on a computersystem, such as RIP 156 of FIG. 1, or as a firmware or software programexecuted on a microprocessor, DSP, ASIC or other hardware inside aprinter. RIP software may be optimized for VDP or may not be VDP-aware,depending on the type of print tasks at hand. Both types of RIPtechnology are widely available from software vendors such as EFI andHarlequin, and from printer vendors such as Hewlett-Packard,Nexpress/Kodak and Xerox. For high-end and intermediate digitaltypesetting standalone hardware RIPs are typically used. PostScriptprinters contain an associated PostScript RIP either inhardware/software elements or in firmware. One advantage of the presentdisclosure is that it operates on RIPs that are not VDP-aware such asoffice printer equipment made by companies such as Ricoh and Canon.

Attention is now directed to FIG. 2, which illustrates a typical systemconfiguration for a composition system or typesetting system, such astypesetter 110 as shown in FIG. 1. For purposes of brevity, the variouscomponents of FIG. 2 are shown in a simplified form, with some elementsremoved for purposes of clarity. For example, FIG. 2 illustratescomponents of a single computer system, however, two separate systems115 and 120 may also be used as shown in FIG. 1, and/or otherconfigurations may also be used.

Composition system 110 includes one or more processors 210, one or morememories or other program and data storage elements 260, and animage/content database 230, which may be part of memory 260. Memory 260further includes functional modules for providing the variousfunctionality as is described herein. These functional modules mayinclude hardware elements, software elements, firmware elements, and/orcombinations of these elements to implement various functionality. Inparticular, the functional modules may include a Pre-RasterizationGenerator Module 272, a User Interface Module 272, a PrinterCharacterization Module 276, a Print Job Generator Module 278, and/orcombinations of these various modules as well as other modules. Inaddition, memory 260 may include one or more operating systems 262 orother applications (not shown), as well as a compositioning module 264,which may be, for example, the Fusion Pro Desktop or another compositionor typesetting application program. The functionality provided by thefunctional modules 270 may be incorporated into the compositioningmodule 264, such as via direct integration or via plug-ins or otherincorporation mechanisms. In addition, compositioning module 264 may bea standalone application or may be integrated into another application,such as in the form of a plug-in or via other program integrationmechanisms.

Composition system 110 may also include other elements such as one ormore media drives 230 (removable hard disk drives, CD, DVD, BD drives,Flash memory drives, USB drives, and the like) to facilitate input,output and storage of print jobs, printer characterization data, imagefiles and/or other data or information. In addition, composition system110 may include one or more I/O devices 220, such as USB or Firewireinterfaces, one or more user interfaces and associated hardware and/orsoftware, such as keyboards, computer mice, trackballs, and the like,one or more network connections 240, such as wired or wireless networkconnections (Ethernet, Wi-Fi, etc.) to facilitate connectivity to othersystems, such as printing system 150. A display 250, such as a CRTmonitor, LCD monitor, or other visual output device may also be includedto facilitate data and information input and output, user interfacefunctionality, as well as to provide a composition interface and/or adisplay mechanism for viewing pre-rasterized page layouts orpre-rasterized objects in the printer's native resolution.

Attention is now directed to FIG. 3 which illustrates a typical printersystem configuration. Printer system 152 as shown in FIG. 3 may be asingle printer or one of a plurality of printers in a printing system150 as shown in FIG. 1. As described previously, printer system 152includes a RIP module 154 and a rendering station module 156, and mayinclude other elements (not shown). RIP module 154 may include one ormore processors or CPU's 310, one or more data I/O modules 320configured to interface between RIP 154 and rendering station 156, and amemory 360. Memory 360 further includes functional modules for providingthe various functionality as is described herein. These functionalmodules may include hardware elements, software elements, firmwareelements, and/or combinations of these elements to implement variousfunctionality.

In particular, in a typical embodiment, the RIP may be in the form of aRIP software module 370 comprising a set of functional modules that mayinclude a Compositor Module 372, one or more programming job processingmodules such as a Postscript Processing Module 374, a PCL InterpreterModule 376 and/or other print job processing modules configured togenerate a page layout based on a received print job. In addition, thefunctional modules may include page or frame buffer modules configuredto store native page or frame information for transmission to therendering station 156.

For example, frame buffer module may include a complete page in a dotpattern form that can be directly converted to printed output by theprint rendering apparatus 358. Other functional modules such asoperating system module 362 may also be stored in memory 360.

In addition, RIP 154 may include a database 340 that may be integratedwith memory 360. Database 340 may be used to store data, information andobjects such as are described herein, including pre-rasterized objectsand objects provided in the print job to be rasterized by the RIP module370. The compositor module 372 may be used for taking output from aPostScript interpreter 374 and PCL module 376 and combining them withother page elements in the frame buffer 378 to account for transparency,where supported (frame buffer 378 stores a bitmap of the printed output,and data loaded into the frame buffer as “transparent” will allow otherdata in the buffer at the same pixel location to show-through). RIP 154may also include network connection module(s) 330 to facilitate networkconnectivity such as to typesetter 110 or to other systems or devices,as well as one or more media drives 325 (hard disk drives, CD, DVD, BDdrives, Flash memory drives, USB drives, and the like) to facilitateinput, output and storage of print jobs, storage and output of printercharacterization data, image files and/or other data or information.

Rendering station 156 is configured to receive formatted pageinformation, such as a page dot pattern, from RIP 154 and generate theprinted output page in the print rendering apparatus 358's nativeresolution. While rendering stations 156 may have differentconfiguration based on the type of printer system they are incorporatedin, they will generally include at least a processor 352 or logiccircuit equivalents such as a PLD, ASIC, etc., as well as memory 356 forstorage of incoming data, and a print rendering apparatus 358 whichgenerates the printed page output (such as by laser, ink jet, etc.).

FIG. 4 illustrates a method 400 for creating a document using a clippingpath, according to an embodiment of the present disclosure. In step 410,a user defines a clipping path. A clipping path includes a plurality ofinterconnected lines and vertices that form a border, the borderdefining an area. The clipping path can include parts of a rectangularframe, rounded rectangular frame, or oval frame as is traditionallyavailable in a graphic editor. However, the clipping path may alsoinclude Bézier curved lines or segments, straight lines or segments,rounded lines or segments, and combinations thereof. In this manner, theclipping path can be defined in almost any non-overlapping continuouspath that defines a border of an area. In some embodiments, the clippingpath is defines a polygon. In some embodiments, the clipping pathdefines an irregular polygon. In some embodiments, the clipping path isdefines a simple polygon. In some embodiments, the clipping path isdefines an irregular polygon. In some embodiments, the clipping path isdefines convex polygon. In some embodiments, the clipping path isdefines a concave polygon. In some embodiments, the clipping path isdefines a star shaped polygon. In some embodiments, the clipping pathdefines a polygon that is not a rectilinear shape. In some embodiments,the clipping path defines a polygon that is not a quadrilateral. In someembodiments, the clipping path defines a polygon that is not arectangle.

After the clipping path is defined by the user in step 410 using, forexample, a graphic clipping frame editor, the clipping path can be savedto a library in step 420. In this manner, a plurality of clipping pathscan be created and saved to a library for future use. By saving theclipping path for future use, the user saves time by not having torecreate the clipping path each time it is to be used within a layout.Also, a saved clipping path can be re-used an unlimited number of timesand each time it can be retrieved and applied in exactly in the sameshape, which provides consistency between multiple layouts, or a savedclipping path can be retrieved and the adjusted by a user based on thegiven layout or graphics. A clipping path can also be exported from afirst library and imported into a second library. In some embodiments,the library one or more media drives (hard disk drives, CD, DVD, BDdrives, Flash memory drives, USB drives, and the like). In someembodiments, the library is a remote database assessable over a WANand/or LAN network. In some embodiments, the library is a local databaseassessable over a local network or a local database that is part of thecomposition or typesetting subsection assessable over a hardware bus.

A user creates a variable data publishing template layout in step 430.The layout can be composed of images, text, background colors, shapes,designs, and can include variable data publishing fields andnon-variable data publishing fields. In some embodiments, the variabledata publishing template layout includes at least one variable datapublishing field. Examples of variable data that can be populated into avariable data publishing field include data typically stored in tablessuch as names, addresses, purchase history, birthdays, membershipinformation, gender, group affiliations, ect. During rendering step 470,the variable data publishing field of the layout is populated withvariable data from a data file.

The clipping path can be retrieved from the library in step 440, whichmay be stored in a memory of a database, and applied to variable andnon-variable data publishing fields within the layout. For example, aclipping path can be applied to a variable data text box to only reveala portion of the text, e.g. a portion of a prize code. In anotherexample, a clipping path can be applied to a variable graphic box tocrop the graphic so that only the portion of the graphic within theframe is visible in the final document.

In some embodiments, the clipping path is a variable data publishingfield. A rule or a set of rules can be used to select a clipping path.In some embodiments, a set of rules determine which clipping path isretrieved from a library. In some embodiments, the clipping path isdetermined by a rule that uses other variable data as an input. Forexample, a rule may be used to read and correlate variable text datawhich includes reading a person's name. Based on the probability of aperson's name corresponding to a particular gender, the rule specifiesthe clipping path to be used. In other examples, the variable text is aperson's address, a person's age, a person's known purchases and/or aperson's known preferences. In some embodiments, the rule analyzesmultiple variable data objects to select a clipping path.

In step 450, the composite image showing portions of the clipped imagesis generated. The composite image can be generated on a typesetterand/or composition system.

The print job including the data file, layout, and composition optionsare sent over a local area network (wired LAN, such as an Ethernet orother LAN), a wireless network, a wide area network (WAN), such as theInternet, a corporate network, or via other networking configurations tothe composition engine in step 460. The rendering station receives theprint job and renders the final document in step 470. The final documentcan be outputted to a printer and printed on paper, film, cardboard, orother media and can be a sheet, poster, post card, flyer, pamphlet, orother document media.

FIG. 5 is an illustration of a method 500 for creating a composite imageusing a clipping path, according to an embodiment of the presentdisclosure. In step 510, a user selects a plurality of images that beused to compose the composite image. The plurality of images can bestored in memory of image file database or drive that is operablycoupled to a processor. In some embodiments, the image database isstored on one or more media drives. In some embodiments, the imagedatabase is a remote database assessable over a network. In step 520,the user overlays the plurality of images in a general area. The precisealignment of the plurality of images is not critical at this step. Insome embodiments, the plurality of images fully overlaps each other. Insome embodiments, the plurality of images partially overlaps each other.In some embodiments, the plurality of images do not overlap each other.The user selects a clipping path from a library of clipping paths instep 530. The user can optionally create and store a clipping path ifthere are no suitable clipping paths that are already stored in thelibrary.

The clipping path that is retrieved from the library is aligned to thetop image that is overlaid over a bottom image in step 540. The topimage is clipped according to the clipping path to display a portion ofthe bottom image. In step 550, the clipping path may be adjusted ifneeded based on an image size and the desired shape of the clippingpath. In step 560, the composite image showing portions of the clippedimages is generated. The composite image can be generated on atypesetter and/or composition system. In some embodiments, the pluralityof images that form the composite image are still present, but onlyportions of the images are visible based on the clipping path. In someembodiments, generating the composite image includes flatting thecomposite image so that each image layer is merged into a single layer.After flattening, the shape of the clipping path is no longeradjustable, however, the file size for the composite image may bereduced.

FIG. 6 is an illustration of a method 600 for creating a composite imageusing a clipping path, according to an embodiment of the presentdisclosure. In step 610, the process starts with a program, likeFusionPro available from PTI Marketing Technologies, being loaded into amemory of a composition system. A layout or template may be selected andloaded. In step 620, a user using a graphic clipping frame editordefines a clipping path of a graphic clipping frame. The clipping pathin turn defines a clipping area. The clipping path can have three ormore vertices that define the area or clipped region. The user canoptionally add additional vertices to define any complex shape or areaby creating straight or curved lines. In some embodiments, a user candefine a plurality of areas. In some embodiments, the plurality of areasare interconnected or separated from each other. In some embodiments, auser can define a plurality of areas that partially overlay each other.In step 630, a user specifies clipping information for the clippingframe. The clipping information can include an order of overlaying theclipped images defined by the frame or clipping path. In someembodiments, the clipping information can include effects along theedges of the frame or clipping path. In step 640, the software orprogram merges the graphics or a plurality of images to the graphicframe. Different data records can pull in or retrieve different graphicsbased rules of the template. In step 650, data records are retrievedfrom a database of VDP records for composition. In some embodiments, thedatabase is stored on one or more media drives. In some embodiments, thedatabase is a remote database assessable over a network. In someembodiments, the data records are transmitted and received over anetwork, including for example, the internet, a wide area network and alocal area network. In some embodiments, the data records are aplurality of images. In step 660, the program or software clips eachgraphic or image based on the clipping path of the graphic frame. Insome embodiments, a user can write scripts to indicate which clippingpath to select and how to apply it to the images. In step 670, thecomposite image showing portions of the clipped images is generated. Thecomposite image can be generated on a typesetter and/or compositionengine. In some embodiments, the plurality of images that form thecomposite image are still present, but only portions of the images arevisible based on the clipping path. In some embodiments, generating thecomposite image includes flatting the composite image so that each imagelayer is merged into a single layer. After flattening, the shape of theclipping path is no longer adjustable, however, the file size for thecomposite image may be reduced. An output is created with each customgraphic clipped in the same way in each graphic frame. In someembodiments, the output is a PostScript file that is sent to a RIP forgenerating a printed output. In step 680, the output document istransmitted and received over a network, including for example, theinternet, a wide area network and a local area network to a printingsystem for further processing. In step 690, the process may end by theclipping path being stored in a library of clipping paths.

FIG. 7 is an illustration of a method 700 for creating a composite imageusing a clipping path, according to an embodiment of the presentdisclosure. In step 710, the process starts with a program, likeFusionPro available from PTI Marketing Technologies, being loaded into amemory of a composition system. In step 720, a user using a graphicclipping frame editor defines a clipping path of a graphic clippingframe. The clipping path in turn defines a clipping area. The clippingpath can have three or more vertices that define an area. The user canoptionally add additional vertices to define any complex shape or areaincluding straight or curved lines. In some embodiments, a user candefine a plurality of areas that interconnected or separated from eachother. In some embodiments, a user can define a plurality of areas thatpartially overlay each other. In step 740, a user specifies clippinginformation for clipping the frame and stores a clipping path in aclipping path library 730. The clipping path library 730 may be a remoteor local database that is accessible over a network, including forexample, the internet, a wide area network and a local area network. Theclipping information can include an order of overlaying the clippedimages defined clipping path of the frame. In some embodiments, theclipping information can include effects along the edges of the frame orclipping path.

In step 750, the software or program merges in graphics or plurality ofimages to graphic frame. Different data records can pull in or retrievedifferent graphics based rules in the template. The graphics can bestore in one or more separate databases. In some embodiments, thedatabase is stored on one or more media drives. In some embodiments, thedatabase is a remote database assessable over a network. In someembodiments, the data records are transmitted and received over anetwork, including for example, the internet, a wide area network and alocal area network. In step 760, data records are retrieved from adatabase of VDP records for composition. In some embodiments, the datarecords are transmitted and received over a network, including forexample, the internet, a wide area network and a local area network. Instep 770, software selects and retrieves a clipping path for eachgraphic frame based on data provided. In some embodiments, a user canwrite scripts to indicate which clipping path to select and retrieve. Instep 780, software clips each graphic based on the clipping path of thegraphic frame selected in 770.

In step 790, the composite image showing portions of the clipped imagesis generated. The composite image can be generated on a typesetterand/or composition system. In some embodiments, the plurality of imagesthat form the composite image are still present, but only portions ofthe images are visible based on the clipping path. In some embodiments,generating the composite image includes flatting the composite image sothat each image layer is merged into a single layer. After flattening,the shape of the clipping path is no longer adjustable, however, thefile size for the composite image may be reduced. An output is createdwith each custom graphic clipped in the same way in each graphic frame.In some embodiments, the output is a PostScript file that is sent to aRIP for generating a printed output. In step 795, the output document istransmitted and received over a network, including for example, theinternet, a wide area network and a local area network to a printingsystem for further processing. In step 799, the process may end by theclipping path being stored in a library of clipping paths.

FIG. 8 is an example of an image within a graphic frame editor before aclipping path is applied, according to embodiments of the presentdisclosure. A graphic clipping frame editor 800 is used to align aclipping path 810 over a plurality of images 820. The vertices of theclipping path 810 can be repositioned by the user to adjust the shapeand define the clipping area. Additional vertices can be added toincrease the complexity of the clipping path 810.

FIG. 9 is an example of a composite image 910 after a clipping path isapplied, according to embodiments of the present disclosure. A portionof the clipping path is positioned diagonally through the frame todisplay the lower right portion of a winter scene thereby revealing anupper left portion of an autumn scene from a bottom image. Outputdocument 900 is a sheet of paper.

FIG. 10 is an example of a clipping path defined by a user using agraphic frame editor 1000, according to embodiments of the presentdisclosure. The vertices of the clipping path 1010 have beenrepositioned by the user in the shape of a star. A total of ten verticeswere used to define the star shaped clipping path. In one embodiment,after defining the clipping path 1010, the clipping path 1010 is savedto a clipping path library. In one embodiment, a graphic clipping frameeditor 1000 is used to align a clipping path 1010 over a plurality ofimages 1020.

FIG. 11 is another example of a composite image 1110 after a clippingpath is applied, according to embodiments of the present disclosure. Astar shaped clipping path was retrieved from a clipping path library andpositioned over a plurality of images.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Where methods described above indicate certain eventsoccurring in certain order, the ordering of certain events may bemodified. Additionally, certain of the events may be performedconcurrently in a parallel process when possible, as well as performedsequentially as described above. Although various modules in thedifferent devices are shown to be located in the processors of thedevice, they can also be located/stored in the memory of the device(e.g., software modules) and can be accessed and executed by theprocessors. Accordingly, the specification is intended to embrace allsuch modifications and variations of the disclosed embodiments that fallwithin the spirit and scope of the appended claims.

While various inventive embodiments have been described and illustratedherein, those of ordinary skill in the art will readily envision avariety of other means and/or structures for performing the functionand/or obtaining the results and/or one or more of the advantagesdescribed herein, and each of such variations and/or modifications isdeemed to be within the scope of the inventive embodiments describedherein. More generally, those skilled in the art will readily appreciatethat all parameters, dimensions, materials, and configurations describedherein are meant to be exemplary and that the actual parameters,dimensions, materials, and/or configurations will depend upon thespecific application or applications for which the inventive teachingsis/are used. Those skilled in the art will recognize, or be able toascertain using no more than routine experimentation, many equivalentsto the specific inventive embodiments described herein. It is,therefore, to be understood that the foregoing embodiments are presentedby way of example only and that, within the scope of the appended claimsand equivalents thereto, inventive embodiments may be practicedotherwise than as specifically described and claimed. Inventiveembodiments of the present disclosure are directed to each individualfeature, system, article, material, kit, and/or method described herein.In addition, any combination of two or more such features, systems,articles, materials, kits, and/or methods, if such features, systems,articles, materials, kits, and/or methods are not mutually inconsistent,is included within the inventive scope of the present disclosure.

The above-described embodiments can be implemented in any of numerousways. For example, embodiments of designing and making the technologydisclosed herein may be implemented using hardware, software or acombination thereof. When implemented in software, the software code canbe executed on any suitable processor or collection of processors,whether provided in a single computer or distributed among multiplecomputers.

Further, it should be appreciated that a computer may be embodied in anyof a number of forms, such as a rack-mounted computer, a desktopcomputer, a laptop computer, or a tablet computer. Additionally, acomputer may be embedded in a device not generally regarded as acomputer but with suitable processing capabilities, including a PersonalDigital Assistant (PDA), a smart phone or any other suitable portable orfixed electronic device.

Also, a computer may have one or more input and output devices. Thesedevices can be used, among other things, to present a user interface.Examples of output devices that can be used to provide a user interfaceinclude printers or display screens for visual presentation of outputand speakers or other sound generating devices for audible presentationof output. Examples of input devices that can be used for a userinterface include keyboards, and pointing devices, such as mice, touchpads, and digitizing tablets. As another example, a computer may receiveinput information through speech recognition or in other audible format.

Such computers may be interconnected by one or more networks in anysuitable form, including a local area network or a wide area network,such as an enterprise network, and intelligent network (IN) or theInternet. Such networks may be based on any suitable technology and mayoperate according to any suitable protocol and may include wirelessnetworks, wired networks or fiber optic networks.

The various methods or processes outlined herein may be coded assoftware that is executable on one or more processors that employ anyone of a variety of operating systems or platforms. Additionally, suchsoftware may be written using any of a number of suitable programminglanguages and/or programming or scripting tools, and also may becompiled as executable machine language code or intermediate code thatis executed on a framework or virtual machine.

In this respect, various inventive concepts may be embodied as acomputer readable storage medium (or multiple computer readable storagemedia) (e.g., a computer memory, one or more floppy discs, compactdiscs, optical discs, magnetic tapes, flash memories, circuitconfigurations in Field Programmable Gate Arrays or other semiconductordevices, or other non-transitory medium or tangible computer storagemedium) encoded with one or more programs that, when executed on one ormore computers or other processors, perform methods that implement thevarious embodiments of the disclosure discussed above. The computerreadable medium or media can be transportable, such that the program orprograms stored thereon can be loaded into one or more differentcomputers or other processors to implement various aspects of thepresent disclosure as discussed above.

The terms “program” or “software” or “code” are used herein in a genericsense to refer to any type of computer code or set ofcomputer-executable instructions that can be employed to program acomputer or other processor to implement various aspects of embodimentsas discussed above. Additionally, it should be appreciated thataccording to one aspect, one or more computer programs that whenexecuted perform methods of the present disclosure need not reside on asingle computer or processor, but may be distributed in a modularfashion amongst a number of different computers or processors toimplement various aspects of the present disclosure.

Computer-executable instructions may be in many forms, such as programmodules, executed by one or more computers or other devices. Generally,program modules include routines, programs, objects, components, datastructures, etc. that perform particular tasks or implement particularabstract data types. Typically the functionality of the program modulesmay be combined or distributed as desired in various embodiments.

Also, data structures may be stored in computer-readable media in anysuitable form. For simplicity of illustration, data structures may beshown to have fields that are related through location in the datastructure. Such relationships may likewise be achieved by assigningstorage for the fields with locations in a computer-readable medium thatconvey relationship between the fields. However, any suitable mechanismmay be used to establish a relationship between information in fields ofa data structure, including through the use of pointers, tags or othermechanisms that establish relationship between data elements.

Also, various inventive concepts may be embodied as one or more methods,of which an example has been provided. The acts performed as part of themethod may be ordered in any suitable way. Accordingly, embodiments maybe constructed in which acts are performed in an order different thanillustrated, which may include performing some acts simultaneously, eventhough shown as sequential acts in illustrative embodiments.

All definitions, as defined and used herein, should be understood tocontrol over dictionary definitions, definitions in documentsincorporated by reference, and/or ordinary meanings of the definedterms.

The indefinite articles “a” and “an,” as used herein in thespecification and in the claims, unless clearly indicated to thecontrary, should be understood to mean “at least one.”

The phrase “and/or,” as used herein in the specification and in theclaims, should be understood to mean “either or both” of the elements soconjoined, i.e., elements that are conjunctively present in some casesand disjunctively present in other cases. Multiple elements listed with“and/or” should be construed in the same fashion, i.e., “one or more” ofthe elements so conjoined. Other elements may optionally be presentother than the elements specifically identified by the “and/or” clause,whether related or unrelated to those elements specifically identified.Thus, as a non-limiting example, a reference to “A and/or B”, when usedin conjunction with open-ended language such as “comprising” can refer,in one embodiment, to A only (optionally including elements other thanB); in another embodiment, to B only (optionally including elementsother than A); in yet another embodiment, to both A and B (optionallyincluding other elements); etc.

As used herein in the specification and in the claims, “or” should beunderstood to have the same meaning as “and/or” as defined above. Forexample, when separating items in a list, “or” or “and/or” shall beinterpreted as being inclusive, i.e., the inclusion of at least one, butalso including more than one, of a number or list of elements, and,optionally, additional unlisted items. Only terms clearly indicated tothe contrary, such as “only one of” or “exactly one of,” or, when usedin the claims, “consisting of,” will refer to the inclusion of exactlyone element of a number or list of elements. In general, the term “or”as used herein shall only be interpreted as indicating exclusivealternatives (i.e. “one or the other but not both”) when preceded byterms of exclusivity, such as “either,” “one of” “only one of” or“exactly one of” “Consisting essentially of” when used in the claims,shall have its ordinary meaning as used in the field of patent law.

As used herein in the specification and in the claims, the phrase “atleast one,” in reference to a list of one or more elements, should beunderstood to mean at least one element selected from any one or more ofthe elements in the list of elements, but not necessarily including atleast one of each and every element specifically listed within the listof elements and not excluding any combinations of elements in the listof elements. This definition also allows that elements may optionally bepresent other than the elements specifically identified within the listof elements to which the phrase “at least one” refers, whether relatedor unrelated to those elements specifically identified. Thus, as anon-limiting example, “at least one of A and B” (or, equivalently, “atleast one of A or B,” or, equivalently “at least one of A and/or B”) canrefer, in one embodiment, to at least one, optionally including morethan one, A, with no B present (and optionally including elements otherthan B); in another embodiment, to at least one, optionally includingmore than one, B, with no A present (and optionally including elementsother than A); in yet another embodiment, to at least one, optionallyincluding more than one, A, and at least one, optionally including morethan one, B (and optionally including other elements); etc.

In the claims, as well as in the specification above, all transitionalphrases such as “comprising,” “including,” “carrying,” “having,”“containing,” “involving,” “holding,” “composed of,” and the like are tobe understood to be open-ended, i.e., to mean including but not limitedto. Only the transitional phrases “consisting of” and “consistingessentially of” shall be closed or semi-closed transitional phrases,respectively, as set forth in the United States Patent Office Manual ofPatent Examining Procedures, Section 2111.03.

1-20. (canceled)
 21. A method for creating a composite image, the methodcomprising: selecting a plurality of images, the plurality of imagesbeing stored in a database; overlaying the plurality of images within agraphic frame in a graphic editor, wherein a first portion of theplurality of images overlaps with a second portion of the plurality ofimages and wherein the graphic frame is part of a variable datapublishing template layout; retrieving, based on a set of rules, aclipping path from a library, the clipping path having plurality ofinterconnected lines and vertices that defines a border wherein the setof rules are included within the variable data publishing templatelayout; aligning the clipping path and the plurality of images in thegraphic editor; and generating the composite image in the graphiceditor, the composite image including a combination of at least thefirst portion of the plurality of images and at least the second portionthe plurality of images, the composite image having at least one borderdefined by the clipping path.
 22. The method of claim 21, furthercomprising: storing the clipping path to the library.
 23. The method ofclaim 21, further comprising: adjusting the clipping path retrieved fromthe library.
 24. The method of claim 23, wherein the library is a remotedatabase assessable over a wide area network.
 25. (canceled)
 26. Themethod of claim 21, wherein the border defined by the clipping pathforms a polygon that is not a rectangle.
 27. The method of claim 21,wherein the border defined by the clipping path includes at least oneBézier curved line.
 28. (canceled)
 29. The method of claim 21, furthercomprising: composing a print file from a data file, the variable datatemplate layout including the composite image, and composition options.30. The method of claim 29, wherein the at least one variable datapublishing field is populated with data from the data file duringcomposing the print file.
 31. The method of claim 30, wherein composingthe print file from the data file, the variable data template layoutincluding the composite image, and the composition options is performedusing a composition engine.
 32. (canceled)
 33. The method of claim 32,further comprising: sending the data file, the variable data templatelayout including the composite image, and the composition options to thecomposition engine from the typesetter system.
 34. The method of claim21, further comprising: rendering a final document including thecomposite image and at least one variable data publishing field includesprinting the final document on printable media using a printing system.35. The method of claim 21, further comprising: rendering a finaldocument including the composite image and at least one variable datapublishing field includes displaying the final document on a displaydevice.
 36. The method of claim 29, wherein the print file includes oneor more pre-rasterized objects and is in the form of Java, C, C#, C++,scripting languages, PostScript, PDF, PDF/VT, PPML, XML, VPS, VDX, VIPPfile, and other VDP output formats.
 37. (canceled)
 38. (canceled) 39.(canceled)
 40. The method of claim 21, wherein generating the compositeimage in the graphic editor further includes flattening the compositeimage.
 41. A method for creating a composite image, the methodcomprising: loading a graphic editor into a memory of a compositionsystem; retrieving, using the graphic editor loaded into the memory ofthe composition system, a clipping path for a graphic frame wherein thegraphic editor retrieves the clipping path from a library based on a setof rules, the clipping path having a plurality of interconnected linesand vertices that define a border wherein the graphic frame and the setof rules are included in a variable data publishing template layout;specifying clipping information for the graphic frame, the clippinginformation including an order for overlaying a plurality of imageswithin the graphic frame; providing a database of variable datapublishing data for composition; merging the plurality of images withinthe graphic frame by retrieving the plurality of images from thedatabase and overlaying the plurality of images in the order specifiedby the clipping information; clipping the plurality of images within thegraphic frame based on the clipping path of the graphic frame; andgenerating the composite image, the composite image including a portionof a plurality of images, the portion of the plurality of images definedin part by the clipping path.
 42. The method of claim 41, furthercomprising: defining the clipping path; and storing the clipping path inthe library.
 43. The method of claim 42, wherein the database ofvariable data publishing data for composition is a first database ofvariable data publishing data for composition; and the method furthercomprises: providing a second database of variable data publishing datafor composition.
 44. The method of claim 43, wherein merging theplurality of images within the graphic frame by retrieving the pluralityof images from the database includes merging graphics from the firstdatabase and the second database to the graphic frame.
 45. The method ofclaim 42, further comprising: selecting a clipping path for each graphicframe based on the clipping information for the graphic frame.
 46. Themethod of claim 45, wherein selecting the clipping path for each graphicframe based on the clipping information for the graphic frame includesexecuting a script indicating which clipping path to select from thelibrary.
 47. The method of claim 46, wherein executing the scriptindicating which clipping path to select from the library includesanalyzing a plurality of variable data publishing data to select theclipping path. 48-133. (canceled)